#ifndef GOWILDSTRUCT_H
#define GOWILDSTRUCT_H

#include <QObject>

namespace Gowild
{
    class SceneStruct
    {
    public:
        SceneStruct();

        QString name() const;
        void setName(const QString &name);

        QString room() const;
        void setRoom(const QString &room);

    private:
        QString m_name;
        QString m_room;
    };

    class DeviceStruct
    {
    public:
        DeviceStruct();

        QString name() const;
        void setName(const QString &name);

        QString type() const;
        void setType(const QString &type);


        int roomId() const;
        void setRoomId(int roomId);

    private:
        QString m_name;
        QString m_type;
        int m_roomId;
    };

    class ControlParamStruct
    {
    public:
        ControlParamStruct();
        int id() const;
        void setId(int id);

        QString action() const;
        void setAction(const QString &action);

        QString attribute() const;
        void setAttribute(const QString &attribute);

        QString attributeValue() const;
        void setAttributeValue(const QString &attributeValue);

        QString mode() const;
        void setMode(const QString &mode);

        QString name() const;
        void setName(const QString &name);

        QString room() const;
        void setRoom(const QString &room);

        QString scene() const;
        void setScene(const QString &scene);

        QString state() const;
        void setState(const QString &state);

    private:
        int m_id;
        QString m_action;
        QString m_attribute;
        QString m_attributeValue;
        QString m_mode;
        QString m_name;
        QString m_room;
        QString m_scene;
        QString m_state;

    };
}

#endif // GOWILDSTRUCT_H
